"""
使用requests.session来完成gitee登录，并获取需要登录后才能访问的页面
1.使用session发送登录请求
    需要有请求头，请求数据等
2.使用session发送登录后才能看到的页面
    只要加请求头user-agent即可，session状态保持
"""

# 1）通过代码实现Gitee登录
#   相当于用requests发送登录请求
import requests

session = requests.session()
url_login = 'https://gitee.com/login'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
# 从网上拷贝 请求体数据，构造成字典，字典中元素之间用逗号
data = {
    'encrypt_key': 'password',
    'utf8': '✓',
    'authenticity_token': 'VZBZdqBVOYJBAEhWIlsrJ2o1KgaOzrDlXdJZXEiKvfE=',
    'redirect_to_url': '',
    'user[login]': '1746195282@qq.com',
    'encrypt_data[user[password]]': 'Nr8HACH6S/4/olUzDC3njnwANToQMQLfQGW6B0++DG05n2cFE0NhmxzBdWb83JxLFuf3Go3EDYr7lxL97eAZCLxoAQRWWT1gya2zjT4kd8b2SD+BpMHRls6Wlrayk7gMYXFOfqGvvzqjNvHhksgSB3NKN8qHT3vWuJMFcz5hzJ8=',
    'user[remember_me]': '0'
}
# 改用session发送post请求，实现状态保持
session = requests.session()
r1 = session.post(url_login, headers=headers, data=data)
# 打印响应的状态码，200表示成功
print(r1.status_code)

# 通过session发送请求，访问需要登录后才能看到的内容
# 此时不需要cookie，利用session实现状态保持
url = "https://gitee.com/zhou-poetry-and-painting/projects"
r2 = session.get(url, headers=headers)
print(r2.content.decode())